// pages/cart/cart.js
Page({
  data: {
    cart: [] , // 用来存储购物车的商品列表
    cartid: 101,
  },

  // 页面显示时，重新加载购物车数据
  onShow() {
    this.loadCart();
  },

  // 从本地存储中加载购物车数据
  loadCart() {
    const cartid = this.data.cartid;  // 使用默认 cartid 或从本地存储获取 cartid

    wx.request({
      url: `http://127.0.0.1:3000/api/cart/${cartid}`,  // 请求后端接口，传递 cartid
      method: 'GET',
      success: (res) => {
        if (res.data.success) {
          console.log('获取购物车数据成功:', res.data.data);
          this.setData({
            cart: res.data.data  // 将返回的购物车数据存储到页面的 data 中
          });
        } else {
          wx.showToast({
            title: '获取购物车数据失败',
            icon: 'none'
          });
        }
      },
      fail: () => {
        wx.showToast({
          title: '网络请求失败',
          icon: 'none'
        });
      }
    });
  },
  // 切换选择框状态
  toggleChoose(e) {
    console.log('toggleChoose 被调用');
    console.log('e.currentTarget:', e.currentTarget);
    const goodsid = e.currentTarget.dataset.id;
    console.log("商品 ID:", goodsid);  // 打印商品 ID
  
    // 获取当前选择状态
    const currentChooseState = this.data.cart.find(item => item.goodsid === goodsid).choose;
    console.log("当前选择状态:", currentChooseState);
  
    // 发送请求到服务器，切换选择状态
    wx.request({
      url: `http://127.0.0.1:3000/api/choosegoods/${goodsid}`,
      method: 'POST',
      data: {
        choose: currentChooseState === 1 ? 0 : 1  // 切换选择状态
      },
      success: (res) => {
        console.log('修改结果:', res);  // 打印响应结果
        if (res.data.success) {
          wx.showToast({
            title: '状态更新成功',
            icon: 'success',
            duration: 2000
          });
          this.loadCart();  // 更新购物车数据
        } else {
          wx.showToast({
            title: '状态更新失败',
            icon: 'none'
          });
        }
      },
      fail: () => {
        wx.showToast({
          title: '请求失败',
          icon: 'none'
        });
      }
    });
  },
  

  // 删除指定商品
  removeFromCart(e) {
    const productId = e.currentTarget.dataset.id; // 获取点击删除按钮的商品ID
    let cart = wx.getStorageSync('cart') || [];  // 获取当前购物车数据

    // 使用filter方法过滤掉被删除商品
    cart = cart.filter(item => item.id !== productId); // 只保留ID不等于删除商品ID的项

    // 更新本地存储并刷新页面数据
    wx.setStorageSync('cart', cart);
    this.setData({ cart });  // 更新页面中的购物车数据

    // 提示用户删除成功
    wx.showToast({
      title: '删除成功',
      icon: 'none',
      duration: 2000
    });
  },

  // 去结算页面
  checkout() {
    // 跳转到订单结算页面
    wx.navigateTo({
      url: '/pages/order/order'  // 假设订单页面路径是 `/pages/order/order`
    });
  },

  goBack() {
    wx.navigateBack();
  }
});
